Abstract Interface Types in GNAT: Conversions, Discriminants, and C++
نویسندگان
چکیده
Interface Types in GNAT: Conversions, Discriminants, and C++ Javier Miranda1 and Edmond Schonberg2 1 [email protected] Applied Microelectronics Research Institute University of Las Palmas de Gran Canaria Spain and AdaCore 2 [email protected] AdaCore 104 Fifth Avenue, 15th floor New York, NY 10011 Abstract. Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees. Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees.
منابع مشابه
The Implementation of Ada 2005 Interface Types in the GNAT Compiler
One of the most important object-oriented features of the new revision of the Ada Programming Language is the introduction of Abstract Interfaces to provide a form of multiple inheritance. Ada 2005 Abstract Interface Types are based on Java interfaces, and as such support inheritance of operation specifications, rather than the general complexity of inheritance of implementations as in full mul...
متن کاملASIS for GNAT: From the Prototype to the Full Implementation
This article is about the implementation of the Ada Semantic Interface Specification (ASIS) for the GNAT Ada 95 compilation system (ASIS-forGNAT). It discusses implementation problems and their solutions. It explains the interaction of ASIS-for-GNAT with GNAT and its internal data structures. Finally, it describes the current state of ASIS-for-GNAT.
متن کاملGforth’s libcc C Function Call Interface
A major problem in our earlier proposal for a C interface was that a part of the interface was not portable between platforms. The libcc interface solves this problem by using a C compiler and its .h-files. The .h-files contain knowledge about the specific platform, and the C compiler automatically inserts the necessary conversions between Forth and C types. In this paper we describe the libcc ...
متن کاملFeatures of the Gnu Ada Runtime LibraryDraftABSTRACTThe
The GNu Ada Runtime Library (GNARL) is being developed to support Ada 9X tasking for the Gnu NYU Ada Translator (GNAT). Together, they form a portable, freely distributable Ada 9X translation system. GNARL and GNAT communicate through a well-deened procedural interface, facilitating their independent development. Among the design goals of this translation system are portability, interoperabilit...
متن کاملImplementing the Distributed Features of Ada 9x with Pvm
This extended abstract describes our experience in implementing the distributed features of Ada 9X in the GNAT compiler 7], a free Ada9X compiler which is part of the GCC compiler system. As members of the GNAT team, we have been working on the semantics of the distribution model for the language and have proposed a general implementation model. We have used PVM as a prototyping tool to validat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006